/*------------------------------------------------------*/

#ifndef RTTRANSPORTOPENSSLBIO_H
#define RTTRANSPORTOPENSSLBIO_H

#include <openssl/bio.h>

class CRtTransportOpenSsl;

class /*RT_API_EXPORT*/ CRtTransportOpenSslBio  
{
public:
	enum { BIO_TYPE = (33 | BIO_TYPE_SOURCE_SINK) };
	
	static BIO* CreateOne(CRtTransportOpenSsl *aTrpt);
	
	static int  BIO_write (BIO *aBIO, const char *aBuf, int aLen);
	static int  BIO_read  (BIO *aBIO, char *aBuf, int aLen);
	static int  BIO_puts  (BIO *aBIO, const char *aStr);
	static long BIO_ctrl  (BIO *aBIO, int aCmd, long aNum, void *aPtr);
	static int  BIO_new   (BIO *aBIO);
	static int  BIO_free  (BIO *aBIO);
};

#endif // !RTTRANSPORTOPENSSLBIO_H
